package it.koutifaris.travianmap.ui.theme;

import android.graphics.Paint;
import android.graphics.Paint.Style;

public class DefaultTheme implements WorldMapTheme {

	private final Paint backGround;
	private final Paint border;
	private final Paint mapBorder;
	private final Paint text;
	private final Paint selection;
	private final Paint selectionFill;

	public DefaultTheme() {
		backGround = initBackGround();
		border = initBorder();
		mapBorder = initMapBorder();
		text = initText();
		selection = initSelection();
		selectionFill = initSelectionFill();
	}

	private Paint initBackGround() {
		Paint backGround = new Paint();

		backGround.setARGB(255, 100, 255, 128);
		backGround.setStyle(Style.FILL);

		return backGround;
	}

	private Paint initBorder() {
		Paint border = new Paint();

		border.setARGB(255, 0, 200, 128);
		border.setStyle(Style.STROKE);

		return border;
	}

	private Paint initMapBorder() {
		Paint mapBorder = new Paint();

		mapBorder.setARGB(255, 0, 0, 255);
		mapBorder.setStyle(Style.STROKE);

		return mapBorder;
	}

	private Paint initText() {
		Paint text = new Paint();

		text.setARGB(255, 0, 0, 0);
		text.setStyle(Style.STROKE);

		return text;
	}

	private Paint initSelection() {
		Paint paint = new Paint();

		paint.setARGB(255, 255, 102, 0);
		paint.setStyle(Style.STROKE);
		paint.setStrokeWidth(2);

		return paint;
	}

	private Paint initSelectionFill() {
		Paint paint = new Paint();

		paint.setARGB(128, 255, 102, 0);
		paint.setStyle(Style.FILL);

		return paint;
	}

	@Override
	public Paint getMapBackGround() {
		return backGround;
	}

	@Override
	public Paint getBorder() {
		return border;
	}

	@Override
	public Paint getCoordsText() {
		return text;
	}

	@Override
	public Paint getMapBorder() {
		return mapBorder;
	}

	@Override
	public Paint getSelection() {
		return selection;
	}

	@Override
	public Paint getSelectionFill() {
		return selectionFill;
	}

}
